Masala #0976

Xotira 16 MB Vaqt 1000 ms Qiyinchiligi 40 %
14

  

Kvadrat Soat

Sizga n soni beriladi. Siz nxn o'lchamdagi bo'sh matritsani sonlarga to'ldirishingiz kerak. Matritsaning O nuqta markazidan( agar n toq bo'lsa O nuqta markazdagi katakchaning markazida joylashadi, n juft bo'lsa O nuqta hech qaysi katakchada joylashmaydi va matritsa markazida bo'ladi) yuqoriga tik ravishda matritsaning eng tepasigacha soat mili joylashgan. Bu mil soat strelkasi bo'ylab aylanadi. Milning harakati matritsani quyidagicha to'ldiradi:

  • mil aylana bo'ylab harakatda 1 - bo'lib katakchalarni(1 yoki undan ortiq bo'lishi mumkin) 1 ga to'ldiradi, 2 - bo'lib kesib o'tgan katakchalarni 2 bilan to'ldiradi va h.k.
  • Mil toki barcha katakchalarni to'ldirmaguncha harakatni davom ettiradi.
  • n soni toq bo'lsa mil markaziy katakchadan toki tepagacha jami (n+1)/2 ta katakchani kesib turadi va bu holatda shu kataklarga 0 qiymati joylashtiriladi va keyingi kesgan kataklarni 1 dan boshlab raqamlaydi.
  • n soni juft bo'lsa hech qanday nollar mavjud bo'lmaydi.

Toq holatda quyidagicha

Juft holda quyidagicha:

Sizning vazifangiz nxn matritsani sonlar bilan to'ldirish

 

 


Kiruvchi ma'lumotlar:

Sizga n \(( 1 \le n \le 100 )\) butun soni beriladi.


Chiquvchi ma'lumotlar:

Siz sonlar bilan to'ldirilgan matritsani (matritsa ko'rinishida) chop eting.


Misollar
# input.txt output.txt
1
1
0
2
2
4 1 
3 2
3
3
7 0 1 
6 0 2 
5 4 3
4
4
11 12 1 2 
10 10 1 3 
9 7 4 4 
8 7 6 5
5
5
18 19 0 1 3 
16 17 0 2 4 
15 14 0 4 5 
14 12 9 7 6 
13 11 10 9 8
Yechimini yuborish
Bu amalni bajarish uchun tizimga kiring, agar profilingiz bo'lmasa istalgan payt ro'yxatdan o'tishingiz mumkin